未解決: Swift UIで登場する、some Body {}ってどの文法に基づいているの?
#疑問
Swift UIで登場する、some Body {}ってどの文法に基づいているの?
Swift PlaygroundsでAppを作ろうとしたら以下のようなコードが出てきた。
code:Swift
struct MainView:View{
var body:some Body{
Text("Sample")
Text("Text")
}
}
この文法はSwiftのどの文法によるものなのかが気になったので調査を行った
some Viewの方は、Opaque Typeに基づいていることがわかった。(2022/1/26 01:04)
Opaque Type
インタフェースBodyの不透明型で、何らか定まったある一つのBody実装型を表している。
Body{ Text(...) Text(...)}が分からない
恐らくBodyを実体化させるためのもの …?
恐らくインスタンスを生成するための初期化構文だと思われる。
new Class()の糖衣構文的な
しかしインタフェースは実体化できないはずなので....Opaque Typeに依存するものなのか?
見覚えがあるものとして、Javaの無名クラスが挙げられる。
これもインタフェースを直接実体化させる手法の一つだった。
中括弧内に渡した、改行で分けられたインスタンスがどの部分に対応しているのかを詳しく知りたい。